Peer-to-peer mobile instant messaging method and device

ABSTRACT

A technique is provided for establishing peer-to-peer session-based instant messaging between mobile devices without the need for using an instant messaging registration or log-in server to provide presence information. Session-based instant messaging communications between mobile devices are established by embedding necessary address information in the telephony ringing signal between mobile devices.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 10/817,994, filed Apr. 5, 2004.

FIELD OF THE INVENTION

The present invention relates generally to messaging techniques for mobile devices, and more specifically, a technique to establish peer-to-peer session-based instant messaging (“IM”) communications among mobile devices without the need for IM registration.

BACKGROUND OF THE INVENTION

Current instant messaging (“IM”) technologies depend upon a registration system to enable end users to communicate with one another. For example, to establish an IM session on AOL's Instant Messenger (“AIM”), each participating end user must have registered with AOL and must log into an AIM server in order to use the service. This registration system creates a virtual network of registered users and the value to a new user in joining an IM service is directly related to the number of existing users already registered on the service. As more users register to use an IM service, the value of the IM service to registered users increases since registered users will be able establish IM sessions with an increasing number of users. Known as a “network effect,” this phenomenon causes a further tipping effect, which is the natural tendency for few (or even a single) IM services to pull away from their competitors once they have gained an initial edge by registering a critical mass of users. This tipping effect tends to occur rapidly and stems, in part, from users' inclination to gravitate towards the IM services that they expect will be become dominant. This tipping effect gives proprietary IM services such as AIM, Microsoft's NET Messenger Service, and Yahoo! Messenger, that have achieved a large network of registered users, a strong barrier to entry into the IM market. As such, proprietary IM services may be reluctant to provide interoperability to other less established IM services since providing such access could cannibalize their competitive network advantage.

From a technical perspective, the registration system used in IM services is necessary to provide presence capabilities. In order to establish an IM session, an end user must be registered with the IM service so that the end user can log into the service's IM server, which broadcasts the end user's availability to engage in IM sessions to an authorized group of the end users peers that have also registered and logged into the IM server. The IM server also similarly provides the end user with a list of registered peers that are available to engage in an IM session. When end users engage in IM sessions over a traditional connected network environment, presence capabilities are a critical characteristic of an IM service because such capabilities are needed to provide an end users peers with sufficient presence information (i.e., IP address and port number) in order to locate the end user within the network and establish a connection between the end user and a peer for an IM session. Furthermore, logging into an IM server also enables an end user to indicate whether or not he or she is physically present (e.g., sitting in front of a networked workstation or in front of a laptop that is connected the network) and willing to engage in an IM session.

However, IM services for mobile devices, such as smartphones, appear to have less a need for presence capabilities. Unlike establishing an IM session on a laptop, desktop or workstation, where the end user must broadcast his or her availability and presence information on the network when he or she is physically sifting in front of the laptop, desktop or workstation, establishing an IM session on a mobile device does not suffer from the same presence issues because the end user is presumed to be carrying the mobile device at all times. So long as the mobile device has enough contact information (e.g., cellular telephone number, PIN number, etc.) to directly communicate with other mobile devices through the underlying wireless network technology (e.g., cellular technology, etc.), an IM session could be initiated and established in a manner similar to making and answering mobile phone calls without the need for registering with or logging into an IM server in order to broadcast presence information to other end users for IM purposes.

Furthermore, unlike IM services in a traditional connected network environment, successful end user adoption of an IM service between mobile devices would not suffer from reliance upon establishing a critical mass of end users through a registration system. In contrast, such an IM service would be instantly usable to any and all end users of mobile devices so long as such mobile devices are already capable of directly communicating with other mobile devices through the underlying wireless mobile technology without needing further presence information (e.g., cellular phones directly communicating with other cellular phones through cellular telephone numbers). As such, what is needed is a method to establish IM sessions directly between mobile devices, where such mobile devices are capable of directly communicating with other mobile devices through the underlying wireless technology, such that no IM registration or log-in server is needed to provide presence information to other mobile devices for IM purposes.

SUMMARY OF THE INVENTION

The present invention provides a method for establishing a peer-to-peer session-based IM communications between mobile devices over a digital mobile network system that supports data packet-based communications. Under the present invention, no IM registration or IM log-in server need be used to provide presence information. Instead, a mobile device initiating an IM session opens a listening port defined by an underlying data packet based network protocol. The initiating mobile device sends an invitation message containing the network address, including the listening port, of the initiating device to a target mobile device through a page-mode messaging service supported by the digital mobile network system. The initiating mobile device further utilizes and incorporates a unique identification number (e.g., telephone number, PIN number, etc.) associated with the target mobile device into the invitation message to locate and contact the target mobile device within the wireless mobile network. Alternatively, the invitation message may be embedded in the telephony ringing signal sent to the target mobile device. Once the initiating mobile device receives a response from the target mobile device at the listening port, the two mobile devices are able to establish a reliable virtual connection through the underlying data packet-based network protocol in order to exchange text messages directly between the two mobile devices through a session-based communication.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a diagram of an environment for establishing an IM session in accordance with the present invention between a first mobile device and a second mobile device in a GSM mobile network system supporting GPRS as a data packet-based communications service, SMS as a text messaging service, and TCP/IP as an underlying data packet based network protocol.

FIG. 2 depicts a flow chart for a first embodiment for establishing a peer-to-peer session-based IM system in accordance with the present invention.

FIG. 3 depicts a flow chart for a second embodiment for establishing a peer-to-peer session-based IM system in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 depicts one environment to deploy an embodiment of the present invention. As depicted, the underlying digital mobile network system in this environment is the Global System for Mobile communications (GSM) 100 standard. Under the GSM standard, each of the mobile devices 105 and 110 includes a Subscriber Information Module (SIM) card that contains unique identification information that enables the GSM system to locate the mobile devices within the network and route data to them. A current commercial example of a mobile device (e.g., smartphone, PDA, handheld, etc.) that might be used in FIG. 1 could be Research In Motion's (RIM) BlackBerry handheld devices, which includes a QWERTY keyboard to facilitate the typing of text. As depicted, a GSM architecture includes the following components: base transceiver stations (BTS) 115 and base station controllers (BSC) (120A or 120B) for managing the transmission of radio signals between the MSC (defined below) and the mobile devices, mobile service-switching centers (MSC) (125A and 125B) for performing the all switching functions and controlling calls to and from other telephone and data systems, a home location register (HLR) 130 for containing all the administrative, routing and location information of each subscriber registered in the network, visitor location registers (VLR) (135A and 135B) for containing selected administrative information about subscribers registered in one HLR who are roaming in a another HLR, and an equipment identity register (EIR) (not shown) for containing a list of all valid mobile equipment on the network). As depicted in FIG. 1, in one architecture of a GSM network, there may be exist one HLR while there may exist multiple MSCs (each with a related VLR) which each serves a different geographic area. The MSCs also provide the interface for the GSM network to more traditional voice networks 170 such as the PSTN. This underlying GSM architecture provides radio resources management (e.g., access, paging and handover procedures, etc.), mobility management (e.g., location updating, authentication and security, etc.), and communication management (e.g., call routing, etc.) in order to enable mobile devices in the GSM network to send and receive data through a variety of services, including the Short Message Service (SMS), an asynchronous bi-directional text messaging service for short alphanumeric messages (up to 160 bytes) that are transported from one mobile device to another mobile device in a store-and-forward fashion.

A GSM network within which the present invention may be deployed would also support a page-mode messaging service, such as SMS, that relies upon the underlying GSM mechanisms to resolve routing information in order to locate destination mobile devices. Page-mode messaging services such as SMS transmit messages that are independent or asynchronous with each other, but there is no formal relationship between one message and another. In contrast, an IM session that is implemented in accordance with the present invention is a session-mode or session-based messaging service where exchanged messages are formally associated in a session thereby minimizing the overhead costs of transmitting independent messages. A GSM network supporting SMS text messaging may further include the following SMS specific components: a short message service center (SMSC) (140A or 140B) for storing and forwarding messages to and from one mobile device to another, an SMS Gateway-MSC (SMS GMSC) for receiving the short message from the SMSC (140A or 140B) and interrogating the destination mobile device's HLR 130 for routing information to determine the current location of the destination device to deliver the short message to the appropriate MSC (125A or 125B). The SMS GMSC is typically integrated with the SMSC 140. In a typical transmission of an SMS text message from an originating mobile device 105 to a receiving mobile device 110, (i) the text message is transmitted from the mobile 105 to the MSC 125A, (ii) the MSC 125A interrogates its VLR 135A to verify that the message transfer does not violate any supplementary services or restrictions, (iii) the MSC 125A sends the text message to the SMSC 140A, (iv) the SMSC 140A, through the SMS GMSC, interrogates the receiving mobile device's HLR 130 (by accessing the SS7 network) to receive routing information for the receiving mobile device 110, (v) the SMSC sends the text message to the MSC 125B servicing receiving mobile device 110, (vi) the MSC 125B retrieves subscriber information from the VLR 135B, and (vii) the MSC 125A transmits the text message to the receiving mobile device 110. Similar to other transactions on the GSM network, SMS text messaging utilizes telephone numbers as identifying addresses for mobile devices and as such, utilizes the SS7 network signaling system through which cellular service providers share information from the HLR with other service providers. As depicted in FIG. 1, SS7 based signaling communication is represented by the broken lines. In contrast, the solid lines in FIG. 1 represent data or voice based communications.

In addition to a page-mode messaging service such as SMS, a GSM network within which the present invention may be deployed would also support a data packet based communications service, such as the General Packet Radio Service (GPRS), that enables TCP/IP transmission protocol based communications between mobile devices within the network. As depicted in FIG. 1, a core GPRS network exists in parallel to the existing GSM core network. The BSC 120 may direct voice traffic through the MSC (125A or 125B) to the GSM network and data traffic through the Serving GPRS Support Note (SGSN) (145A or 145B) to the GPRS network. Such communication between the BSC (125A or 125B) and the SGSN (145A or 145B) may be, for example, based upon the IP network protocol communication 155. As such, GPRS signaling and data traffic do not flow through the core GSM network. Instead, the core GSM network is used by GPRS only for table look-up in the HLR 130 and VLR (135A or 135B) to obtain routing, location and other subscriber information in order to handle user mobility. The SGSN (145A or 145B) serves as a “packet-switched MSC,” delivering data packets to mobile devices in its service area. The Gateway GPRS Support Note (GGSN) (150A or 150B) communicates with the SGSN (145A or 145B) through an IP based GPRS backbone 160 and serves as an interface to other external IP networks 165 such as the Internet and other mobile service providers' GPRS services.

When an IM service is offered in a traditional online packet based network environment such as the Internet, the initiating computer must have knowledge of the IP address (and possibly, a port) that has been opened on the listening computer to receive IM communications. In order to provide such IP address information, an IM service will set up a log-on or registration server through which end users can record the IP address on which they are currently listening for instant messaging communications. Because all end users have access to (i.e., know the IP address of) the registration server, they are able to obtain the IP addresses of other end users who have also logged-on or registered on the server and thereby initiate IM sessions directly with another end users computer. Alternatively, the log-on or registration server may serve as a forwarding agent between the two end users engaged in an instant messaging session.

In contrast, in accordance with the present invention, a log-on or registration server for IM or presence purposes can be eliminated on a mobile network environment such as that depicted on FIG. 1. Through the use of a page-mode messaging service, such as SMS, which transmits messages to mobile devices based upon their telephone numbers, an initiating mobile device can transmit its IP address (and a listening port) in an invitation message to a target mobile device through the target device's telephone number. Once the target device receives the invitation message, it is able to contact the initiating mobile device through the received IP address and the two devices can establish a reliable virtual connection, such as a TCP connection, for session-based IM communications. FIG. 2 depicts a flow chart depicting the steps taken by an initiating and target mobile device to establish an IM session in accordance with the present invention. Initially, the initiating mobile device opens a TCP port to listen for communications from the target mobile device 210. The target mobile device has also similarly opened an SMS listening port to receive invitation SMS text messages at the specified SMS port 220. The initiating mobile device then transmits its IP address (and TCP port) in an invitation SMS text message to the telephone phone number and a specified SMS port of the target mobile device 230. The target mobile device receives the SMS text message containing the initiating mobile device's IP address (and TCP port) at the specified SMS port 240. The target mobile device extracts the IP address and TCP port from the SMS text message and opens its own TCP port 250. The target mobile device then transmits a request to establish a TCP connection to the initiating mobile device's IP address and TCP port 260. The initiating mobile device receives this request 270 and a TCP connection is established between the IP addresses and TCP ports of the initiating and listening mobile devices and these devices are able to engage in an IM session over a reliable virtual connection 280.

Alternatively, FIG. 3 depicts a flow chart for an alternative embodiment depicting steps to establish an IM session in accordance with the present invention. Initially, the initiating mobile device opens a TCP port to listen for communications from the target mobile device 310. The initiating mobile device, through its supporting telephone company, then embeds its IP address (and TCP port) in the telephony ringing signal that is transmitted to the target mobile device 320. For example and without limitation, the telephone company may use a frequency shift keyed (FSK) signal to embed the IP address (and TCP port) into the telephony signal, similar to the traditional techniques used to embed other special service information, such as a caller ID, in the traditional telephony context. The target mobile device receives the telephony ringing signal from the initiating mobile device 330. The target mobile device extracts the IP address and TCP port from the telephone ringing signal and opens its own TCP port 340. The target mobile device then transmits a request to establish a TCP connection to the initiating mobile device's IP address and TCP port 350. The initiating mobile device receives this request 360 and a TCP connection is established between the IP addresses and TCP ports of the initiating and listening mobile devices and these devices are able to engage in an IM session over a reliable virtual connection 370.

While the foregoing detailed description has described the present invention using SMS, GSM, GPRS, and TCP/IP, other similar services and protocols may be used in a variety of similar environments in which the present invention may be implemented. For example and without limitation, rather than using SMS to transmit an IP address (and port) from the initiating mobile device to the listening mobile device through the devices' telephone numbers, an alternative embodiment of the present invention might use a PIN-to-PIN messaging technology (as, for example, offered in RIM's Blackberry handheld devices) to transmit the IP address (and port) through unique PIN numbers associated with the mobile devices, or an alternative paging protocol using telephone numbers. Similarly, rather than using FSK to embed the IP address (and port) into the telephony ringing signal, an alternative embodiment of the present invention might use a Duel Tone Multi-Frequency (DTMF) transmission to embed the IP address and port. Furthermore, the present invention contemplates that the actual protocol used during an established IM session may also vary depending upon the preference of the implementation. For example and without limitation, Message Session Relay Protocol (MSRP) or any proprietary based protocol may be used during the IM session that is established in accordance with the present invention. Thus, various modifications, additions and substitutions and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims. 

1. A method of establishing session-based instant messaging communications between an initiating mobile device and a target mobile device that each supports a data packet-based communications service over a digital mobile network system, the method comprising: receiving a selected phone number from a user of the initiating mobile device corresponding to the target mobile device; generating a port number for the received selected phone number; opening a listening TCP end-point bound to the generated port number on the initiating mobile device to receive a TCP connection request from the target mobile device; embedding an invitation message comprising an IP address of the initiating mobile device and the generated port number in a telephony ringing signal transmitted to the target mobile device using the selected phone number; receiving a TCP connection request from the target mobile device at the listening TCP end-point on the initiating mobile device through the data packet-based communications service; and establishing a TCP connection through the data packet-based communications service for the session-based instant messaging session enabling transmission of a byte stream between the initiating mobile device and the target mobile device, wherein the TCP connection is established without use of a server that handles connection requests from multiple mobile devices.
 2. The method of claim 1 wherein FSK is utilized to embed the IP address of the initiating mobile device and the generated port number into the telephone ringing signal.
 3. The method of claim 1 wherein the data packet-based communications service is GPRS and the digital mobile network system is GSM.
 4. The method of claim 3 wherein the session-based instant messaging communications through the established TCP connection utilizes MSRP.
 5. A mobile device enabled to establish session-based instant messaging communications with a target mobile device in a digital mobile network system, wherein the mobile device is programmed to: support a data packet-based communications service over the digital mobile network system; extract an invitation message embedded in a telephony ringing signal initiated by the mobile device, the invitation message comprising an IP address of the mobile device and a port number generated by the mobile device that is bound with a TCP end-point opened by the mobile device; send a TCP connection request through the data packet-based communications service to the IP address of the initiating mobile device and the generated port number; and establish a TCP connection through the data packet-based communications service for the session-based instant messaging communications enabling transmission of a byte stream between the mobile device and the initiating mobile device, wherein the TCP connection is established without use of a server that handles connection requests from multiple mobile devices.
 6. The mobile device of claim 5 wherein the invitation message has been embedded in the telephony ringing signal using FSK.
 7. The mobile device of claim 5 wherein the data packet-based communications service is GPRS and the digital mobile network system is GSM.
 8. The mobile device of claim 5 further comprising a QWERTY keyboard.
 9. A computer readable storage medium having stored therein a computer program to be executed on a mobile device to carry out the steps of: receiving a selected phone number from a user of the mobile device corresponding to a target mobile device; generating a port number for the received selected phoned number; opening a listening TCP end-point bound to the generated port number on the mobile device to receive a TCP connection request from the target mobile device through a data packet-based communications service over a digital mobile network system; transmitting an invitation message comprising an IP address of the mobile device and the generated port number in a telephony ringing signal to the target mobile device using the selected phone number; receiving a TCP connection request from the target mobile device at the listening TCP end-point on the initiating mobile device through the data packet-based communications service; and establishing a TCP connection through the data packet based communications service for the session-based instant messaging session enabling transmission of a byte stream between the mobile device and the target mobile, wherein the TCP connection is established without use of a server that handles connection requests from multiple mobile devices.
 10. The computer readable storage medium of claim 9 wherein the IP address of the mobile device and the generated port number have been embedded into the telephony ringing signal using FSK.
 11. The computer readable storage medium of claim 9 wherein the data packet-based communications service is GPRS and the digital mobile network system is GSM. 